#include <stdio.h>
#include <string.h>

/*
 * 识别C字符串
 */

int main()
{
	char s0[] = "Hello, World.";
	char s1[] = "Hello, xiaozhi";

	if (strcmp(&s0[0], &s1[0]))
		printf("Woozl\n");
	else
		printf("OK\n");

	return 0;
}

#if 0

/*
 * intel
 */
0000000000001189 <main>:
    1189:	f3 0f 1e fa          	endbr64 
    118d:	55                   	push   %rbp
    118e:	48 89 e5             	mov    %rsp,%rbp
    1191:	48 83 ec 30          	sub    $0x30,%rsp
    1195:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    119c:	00 00 
    119e:	48 89 45 f8          	mov    %rax,-0x8(%rbp)		// (rbp-ox8)=rax
    11a2:	31 c0                	xor    %eax,%eax
    11a4:	48 b8 48 65 6c 6c 6f 	movabs $0x57202c6f6c6c6548,%rax	// rax=0x57202c6f6c6c6548
    11ab:	2c 20 57 
    11ae:	48 89 45 db          	mov    %rax,-0x25(%rbp)		// (rbp-0x25)=rax
    11b2:	c7 45 e3 6f 72 6c 64 	movl   $0x646c726f,-0x1d(%rbp)	// (rbp-0x1d)=0x646c726f
    11b9:	66 c7 45 e7 2e 00    	movw   $0x2e,-0x19(%rbp)	// (rbp-0x19)=0x2e
    11bf:	48 b8 48 65 6c 6c 6f 	movabs $0x78202c6f6c6c6548,%rax	// rax=0x78202c6f6c6c6548
    11c6:	2c 20 78 
    11c9:	48 89 45 e9          	mov    %rax,-0x17(%rbp)		// (rbp-0x17)=rax
    11cd:	c7 45 f1 69 61 6f 7a 	movl   $0x7a6f6169,-0xf(%rbp)	// (rbp-0xf)=0x7a6f6169
    11d4:	66 c7 45 f5 68 69    	movw   $0x6968,-0xb(%rbp)	// (rbp-0xb)=0x6968
    11da:	c6 45 f7 00          	movb   $0x0,-0x9(%rbp)		// (rbp-0x9)=0x0
    11de:	48 8d 55 e9          	lea    -0x17(%rbp),%rdx		// rdx=(rbp-0x17)
    11e2:	48 8d 45 db          	lea    -0x25(%rbp),%rax		// rax=(rbp-0x25)
    11e6:	48 89 d6             	mov    %rdx,%rsi		// rsi=rdx
    11e9:	48 89 c7             	mov    %rax,%rdi		// rdi=rax
    11ec:	e8 9f fe ff ff       	callq  1090 <strcmp@plt>	// strcmp(rdi, rsi)
    11f1:	85 c0                	test   %eax,%eax		// eax&eax
    11f3:	74 0e                	je     1203 <main+0x7a>
    11f5:	48 8d 3d 08 0e 00 00 	lea    0xe08(%rip),%rdi        # 2004 <_IO_stdin_used+0x4>	// rdi=rip+0xe08
    11fc:	e8 6f fe ff ff       	callq  1070 <puts@plt>		// puts(rdi)
    1201:	eb 0c                	jmp    120f <main+0x86>
    1203:	48 8d 3d 00 0e 00 00 	lea    0xe00(%rip),%rdi        # 200a <_IO_stdin_used+0xa>
    120a:	e8 61 fe ff ff       	callq  1070 <puts@plt>
    120f:	b8 00 00 00 00       	mov    $0x0,%eax
    1214:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
    1218:	64 48 33 0c 25 28 00 	xor    %fs:0x28,%rcx
    121f:	00 00 
    1221:	74 05                	je     1228 <main+0x9f>
    1223:	e8 58 fe ff ff       	callq  1080 <__stack_chk_fail@plt>
    1228:	c9                   	leaveq 
    1229:	c3                   	retq   
    122a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)

/*
 * arm
 */
00000000004005ac <main>:
  4005ac:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
  4005b0:	910003fd 	mov	x29, sp
  4005b4:	90000000 	adrp	x0, 400000 <_init-0x428>
  4005b8:	911ba001 	add	x1, x0, #0x6e8	// x1=4006e8
  4005bc:	910083a0 	add	x0, x29, #0x20	// x0=x29+0x20
  4005c0:	f9400022 	ldr	x2, [x1]	// x2=[x1]
  4005c4:	f9000002 	str	x2, [x0]	// [x0]=x2
  4005c8:	f8406021 	ldur	x1, [x1, #6]	// x1=[x1+6]
  4005cc:	f8006001 	stur	x1, [x0, #6]	// [x0+6]=x1
  4005d0:	90000000 	adrp	x0, 400000 <_init-0x428>
  4005d4:	911be001 	add	x1, x0, #0x6f8	// x1=4006f8
  4005d8:	910043a0 	add	x0, x29, #0x10	// x0=x29+0x10
  4005dc:	f9400022 	ldr	x2, [x1]	// x2=[x1]
  4005e0:	f9000002 	str	x2, [x0]	// [x0]=x2
  4005e4:	f8407021 	ldur	x1, [x1, #7]	// x1=[x1+7]
  4005e8:	f8007001 	stur	x1, [x0, #7]	// [x0+7]=x1
  4005ec:	910043a1 	add	x1, x29, #0x10	// x1=x29+0x10
  4005f0:	910083a0 	add	x0, x29, #0x20	// x0=x29+0x20
  4005f4:	97ffffab 	bl	4004a0 <strcmp@plt>	// strcmp(x0, x1)
  4005f8:	7100001f 	cmp	w0, #0x0	// w0-0x0
  4005fc:	540000a0 	b.eq	400610 <main+0x64>  // b.none
  400600:	90000000 	adrp	x0, 400000 <_init-0x428>
  400604:	911b6000 	add	x0, x0, #0x6d8	// x0=4006d8
  400608:	97ffffa2 	bl	400490 <puts@plt>	// puts(x0)
  40060c:	14000004 	b	40061c <main+0x70>
  400610:	90000000 	adrp	x0, 400000 <_init-0x428>
  400614:	911b8000 	add	x0, x0, #0x6e0		// x0=4006e0
  400618:	97ffff9e 	bl	400490 <puts@plt>
  40061c:	52800000 	mov	w0, #0x0                   	// #0
  400620:	a8c37bfd 	ldp	x29, x30, [sp], #48
  400624:	d65f03c0 	ret

#endif

